Many modern devices have architectures that isolate processes from one another. This increases security, but may reduce an ability of applications to share resources and libraries. Accordingly, developers may implement the same or similar features repeatedly across different applications. This can increase resource utilization on the device, such as an amount of resources that are used to upgrade applications on the devices, an amount of memory that is used to store applications, and so on.